package com.whc.common.exception;

/***
 * 错误码和错误信息定义类
 * 1. 错误码定义规则为5为数字
 * 2. 前两位表示业务场景，最后三位表示错误码。例如：100001。10:通用 001:系统未知异常
 * 3. 维护错误码后需要维护错误描述，将他们定义为枚举形式
 * 错误码列表：
 *  10: 通用
 *      001：参数格式校验
 *      002: 验证码异常
 *      003: 用户名或者密码错误
 *      004: 网络调用接口异常
 *  11: 商品
 *  12: 订单
 *  13: 购物车
 *  14: 物流
 *  21: 库存
 *
 *
 */
public enum BizCodeEnume {

    /**
     * 系统未知异常
     */
    UNKNOW_EXCEPTION(10000, "系统未知异常"),

    /**
     * 参数格式校验失败
     */
    VAILD_EXCEPTION(10001, "参数格式校验失败"),

    /**
     * 参数格式校验失败
     */
    SMS_CODE_EXCEPTION(10002, "请求验证码过于频繁"),

    /**
     * 商品上架异常
     */
    PRODUCT_UP_EXCEPTION(11000, "商品上架异常"),

    /**
     * 商品上架异常
     */
    USER_EXISTS_EXCEPTION(15001, "用户存在"),

    /**
     * 商品上架异常
     */
    PHONE_EXISTS_EXCEPTION(15002, "手机号存在"),

    /**
     * 用户名或者密码错误
     */
    LOGIN_EXCEPTION(15003, "用户名或者密码错误"),

    /**
     * oauth2调用接口失败
     */
    OAUTH2_NET_EXCEPTION(15004, "调用oauth2接口异常"),

    /**
     * 仓库库存异常
     */
    WARE_STOCK_EXCEPTION(21000, "仓库库存不足");

    /**
     * 错误码
     */
    private int code;

    /**
     * 错误信息
     */
    private String msg;

    BizCodeEnume(int code, String msg) {
        this.code = code;
        this.msg = msg;
    }

    public int getCode() {
        return code;
    }

    public String getMsg() {
        return msg;
    }
}
